package com.example.memento.model.table;

import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.table.TableDef;

/**
 * 词典源配置表定义
 * 用于MyBatis-Flex类型安全查询
 */
public class DictionarySourceTableDef extends TableDef {

    public static final DictionarySourceTableDef DICTIONARY_SOURCE = new DictionarySourceTableDef();

    public final QueryColumn ID = new QueryColumn(this, "id");
    public final QueryColumn NAME = new QueryColumn(this, "name");
    public final QueryColumn URL = new QueryColumn(this, "url");
    public final QueryColumn DOWNLOAD_URL = new QueryColumn(this, "download_url");
    public final QueryColumn ENABLED = new QueryColumn(this, "enabled");
    public final QueryColumn FORMAT = new QueryColumn(this, "format");
    public final QueryColumn DOWNLOAD_SOURCE = new QueryColumn(this, "download_source");
    public final QueryColumn SAVE_PATH = new QueryColumn(this, "save_path");
    public final QueryColumn DESCRIPTION = new QueryColumn(this, "description");
    public final QueryColumn VERSION = new QueryColumn(this, "version");
    public final QueryColumn FILE_SIZE = new QueryColumn(this, "file_size");
    public final QueryColumn CHECKSUM = new QueryColumn(this, "checksum");
    public final QueryColumn CREATED_AT = new QueryColumn(this, "created_at");
    public final QueryColumn UPDATED_AT = new QueryColumn(this, "updated_at");
    public final QueryColumn LAST_DOWNLOADED_AT = new QueryColumn(this, "last_downloaded_at");

    public DictionarySourceTableDef() {
        super("", "dictionary_sources");
    }

    public DictionarySourceTableDef(String schema, String name) {
        super(schema, name);
    }

    public DictionarySourceTableDef(String schema, String name, String alisa) {
        super(schema, name, alisa);
    }
}
